home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 002 / edwin15b.arc / EDWIN.DOC < prev    next >
Text File  |  1986-08-04  |  50KB  |  1,160 lines

  1. 1. Introduction
  2. ================================================================
  3.  
  4. EDWIN is a programmer's editor based on the Borland Editor
  5. Toolbox. It offers multiple editing windows and buffers, block
  6. moves between windows, undeletion, online help, Pascal structure
  7. editing, macro record and playback, DOS invocation from the
  8. editor, and file size limited only by available RAM.
  9.  
  10. For IBM PC and true compatibles. Keystrokes are WordStar
  11. compatible by default, but are fully configurable. Works with
  12. monochrome or color cards. Requires 256K.
  13.  
  14. A. New Features
  15. ---------------
  16.  
  17. Relative to version 1.3, this version of EDWIN has the following
  18. new features:
  19.  
  20.   Whenever you are prompted for a file name, you can enter the
  21.   name of a drive, directory, or wildcarded file specification.
  22.   EDWIN will pop up a window showing the matching files, and you
  23.   can select one via the Up and Down arrows and the <Enter> key.
  24.  
  25.   In adding the popup directory picker, we irrevocably exceeded
  26.   Turbo's 64K code segment. As a result, EDWIN now has a single
  27.   overlay file, EDWIN.000. This file must be kept in the same
  28.   drive and directory as the other EDWIN support files. The
  29.   specific location can be specified using the installation
  30.   program EDWINST.
  31.  
  32.   Scrolling performance has been improved on CGA adapters. The
  33.   screen is not updated continuously, but just once for each
  34.   required change.
  35.  
  36.   6 windows are enabled. A zoom mode allows the current window
  37.   to grow to fill the full screen, hiding any other files until
  38.   zoom is toggled again.
  39.  
  40.   The window status line has been redesigned. New information
  41.   includes the bytes used up to the cursor location, and a
  42.   "save flag" indicating when the file has been changed, as well
  43.   as a zoom indicator.
  44.  
  45.   The text cursor now can be installed in either of two modes. A
  46.   non-blinking solid cursor of any color can be chosen.
  47.   Alternatively, the blinking hardware cursor changes size to
  48.   indicate whether the editor is in insert mode (fat cursor) or
  49.   overwrite mode (thin cursor). The BIOS is kept fully informed
  50.   of all cursor positions and modes in order to work better with
  51.   memory resident writer's assistants.
  52.  
  53.   A default macro file, EDWIN.MAC, is automatically loaded into
  54.   memory when the editor is started. The EDWIN.MAC we supply
  55.   includes macros for indenting and unindenting text and
  56.   inserting standard Pascal constructs (procedure, function,
  57.   program, register set) into a program. A full blown macro
  58.   editor is incorporated into the installation program EDWINST.
  59.   This macro editor can be used at any time to generate new
  60.   macro files. The macro record mode within EDWIN is still
  61.   supported.
  62.  
  63.   The keyboard remains fully reconfigurable. The installation
  64.   program now automatically generates a help file matching the
  65.   current keyboard installation. The installation program now
  66.   has an option for "fast install." This sequentially prompts
  67.   for each entry, and is the desirable method if you are
  68.   reconfiguring many keys from the WordStar version.
  69.  
  70.   To save code space and add generality, the help facility now
  71.   treats the help file just like any other file or window.
  72.   Pressing the help command sequence opens a new window, reads
  73.   the help file from the installed directory, and lets you do
  74.   any EDWIN commands within that file. Note that you can modify
  75.   the file if you see fit. To exit help, press the Quit file
  76.   command (by default, ^K^Q).
  77.  
  78.   The EDWIN search algorithm now allows searching for the end of
  79.   line, which is found with the key combination ^M^J
  80.   (carriage return/line feed). This makes design of certain
  81.   macros feasible, including the autoindent marked block macro
  82.   which is supplied.
  83.  
  84.   A "Delete no recourse" command was added. This deletes the
  85.   current line without putting it on the undo stack. It is bound
  86.   to the Ctrl-Del key combination by default, so watch out!
  87.  
  88.   If you have previously reconfigured KEY files or macro files from
  89.   earlier versions of EDWIN, these will need to be rebuilt. The
  90.   addition of new commands, and a change in the format of macro
  91.   files, make this necessary.
  92.  
  93.   Other smaller improvements will become apparent when you use
  94.   the editor.
  95.  
  96.   A number of small bugs, and a couple of not so small ones have
  97.   been fixed. These include:
  98.  
  99.     Wasteful memory allocation when many newlines are inserted
  100.     at the end of a line.
  101.  
  102.     Occasional crashes or a weird flashing of the current line
  103.     after a marked or global replace.
  104.  
  105.     Odd placement of the cursor on the top command line, or
  106.     mangled text messages there.
  107.  
  108.     Paragraph reformat wrong for the last paragraph of a file.
  109.  
  110.     Invalid parsing of filenames using the ..\ or .\ prefixes.
  111.  
  112.     Block markers set incorrectly after blockreading a file
  113.     into a file.
  114.  
  115.     ^QL (Restore line) not setting the "modified" flag.
  116.  
  117.     Multiple windows onto a single file causing a crash when
  118.     significant deletion was done in one window.
  119.  
  120.  
  121. B. Support
  122. ----------
  123.  
  124.     This program was written by Kim Kokkonen of TurboPower
  125.     Software and is supported on a hobby basis. We will
  126.     appreciate your suggestions and comments, but cannot promise
  127.     support.
  128.  
  129.     This program has been released to the public domain for
  130.     personal, non-commercial use only. You may use it yourself,
  131.     give it to your friends or co-workers, or distribute it for
  132.     a cost-based fee as part of a user's group or bulletin board
  133.     service. If you wish to distribute this program as part of a
  134.     commercial package, please contact us for a license
  135.     agreement.
  136.  
  137.     If you ask for support or updates of this program, please
  138.     expect to make enough of a donation to cover our costs. We
  139.     will ask $10 to send you the latest version of the program.
  140.  
  141.     Our business number is 408-378-3672, and is answered
  142.     Monday-Friday 9AM to 5PM Pacific time. We can also be
  143.     reached via CompuServe [72457,2131].
  144.  
  145.     Our real business is the development of tools for Turbo
  146.     Pascal programmers. Our products include:
  147.  
  148.       TurboPower Utilities - 9 programs: Pascal Structure
  149.       Analyzer, Pretty Printer, Execution Profiler, Execution
  150.       Timer, File Compare, Regular Expression Find and Replace,
  151.       Super Directory, File Finder, Command Repeater.
  152.  
  153.       Turbo EXTENDER - offers 640K code model (with overlay
  154.       support as well) for Turbo. Also large data arrays, up to
  155.       30 megabytes. Plus a disk cache toolbox, a program to
  156.       analyze overlayed Turbo programs, a Pascal source code
  157.       encryptor, and more.
  158.  
  159.       T-DebugPLUS - a source level debugger for Turbo Pascal.
  160.       For sub-64K programs, the debugger integrates into the
  161.       Turbo development environment and provides the ability to
  162.       breakpoint on source statements or procedures, as well as
  163.       the ability to examine and change variables using normal
  164.       Pascal syntax. For Turbo EXTENDER programs, or for those
  165.       requiring the services of a machine level debugger, the
  166.       debugger creates a DOS-standard symbol file for the
  167.       program, allowing use of other symbolic debuggers such as
  168.       Symdeb, Atron and Periscope.
  169.  
  170. C. Acknowledgments
  171. ------------------
  172.  
  173.     Many thanks to the following people for their aid in the
  174.     development of EDWIN: Bela Lubkin (DOS EXEC function,
  175.     Command editor, DOS Critical error handler, mucho beta
  176.     testing), Randy Forgaard (fast text search), and Brian Foley
  177.     (fast CGA screen writer). And of course to Borland for the
  178.     Editor Toolbox in the first place.
  179.  
  180. D. Table of Contents
  181. --------------------
  182.  
  183. This document is organized as follows:
  184.  
  185.      1. Introduction
  186.      2. Installation
  187.      3. EDWIN Overview
  188.      4. Cursor Movements
  189.      5. Quick Movements
  190.      6. Inserting and Deleting
  191.      7. Find and Replace
  192.      8. Files and DOS
  193.      9. Windows
  194.      10. Blocks and Markers
  195.      11. Macros
  196.      12. Toggles
  197.      13. Text Processing
  198.      14. Final Notes and Cautions
  199.  
  200.  
  201.  
  202. 2. Installation
  203. ================================================================
  204.  
  205. EDWIN is supplied with several files which are accessed when the
  206. editor is started up. The name and purpose of each file follows:
  207.  
  208.    EDWIN.COM - the main executable file            (** required)
  209.    EDWIN.000 - overlay file                        (** required)
  210.    EDWIN.KEY - the keyboard definition             (** required)
  211.    EDWIN.MSG - text messages used during editing   (** required)
  212.    EDWIN.HLP - online command summary                 (optional)
  213.    EDWIN.ERR - error messages                         (optional)
  214.    EDWIN.MAC - default macros                         (optional)
  215.  
  216. Those files labeled as "required" must be accessible to the
  217. editor when it is loaded. The "optional" files will be ignored
  218. if they are not found at load time.
  219.  
  220. The drive and directory where the support files are to be found
  221. is configurable via the installation program, the use of which
  222. we will now describe. All of the support files must be kept in a
  223. single directory.
  224.  
  225. EDWINST.COM is the EDWIN installation program. Before running
  226. it, you should be sure that all of the files listed above are in
  227. the same directory as is EDWINST.COM, and that the default drive
  228. and directory are set to that directory as well.
  229.  
  230. EDWINST is a menu driven program and should be straightforward
  231. to use. It offers several main categories of installation:
  232.  
  233.   Screen - includes "snow control", editor colors, and cursor
  234.            type.
  235.   Commands - includes ability to edit or fully reconfigure the
  236.            keystrokes used to activate all EDWIN commands. Also
  237.            generates the EDWIN.HLP file which will serve as an
  238.            online command summary.
  239.   Options - includes the pathname to the support files, default
  240.            settings when the editor is started, size of the
  241.            undelete stack, the terminator written at the end of
  242.            file, and the handling of tab characters on read-in
  243.            of files.
  244.   Macros - A general purpose macro editor that reads and writes
  245.            macro files in the format required by EDWIN. Use this
  246.            to maintain the default macro file, or any number of
  247.            other macro files.
  248.  
  249. There are a few interactions between these categories of which
  250. you should be aware.
  251.  
  252. You should choose the Screen installation area first. Your
  253. choices here will affect the speed of display of the rest of the
  254. installation.
  255.  
  256. If you plan to reconfigure the keyboard, you should visit the
  257. Command installation area next. The results of the
  258. reconfiguration will affect the keys you use to install macros.
  259. The keyboard installation will operate in either of two modes.
  260. If you plan to change many or most of the keys, choose the "fast
  261. full reconfiguration" mode. This one prompts sequentially for
  262. all commands, and will save keystrokes in doing the definition.
  263. After going through the sequential entry, you will have an
  264. opportunity to edit any of the entries in a full-screen random
  265. access mode. The random access mode is preferable if you are
  266. tweaking a few commands, or adding your favorite function keys,
  267. or whatever.
  268.  
  269. Each command supports a primary and secondary key sequence. You
  270. can choose any unique set of keystrokes for all commands. Each
  271. command is limited to 4 characters (note that extended ASCII
  272. characters count as 2 each). EDWINST will not accept normal
  273. alphabetic characters for commands. Note the requirements of
  274. uniqueness - if one command is activated by <CtrlQ>, another
  275. cannot be activated by <CtrlQ><CtrlS>. Otherwise EDWIN would not
  276. know when to stop looking for command keystrokes.
  277.  
  278. One of the commands reconfigurable during keyboard installation
  279. is the help key. If any keys are chosen for this command,
  280. EDWINST will write a fairly large help file (EDWIN.HLP) which is
  281. loaded into memory when EDWIN runs. The full help file uses
  282. about 15K of RAM space while EDWIN runs. If you don't want help,
  283. or if you need to regain the 15K of space, delete the keystroke
  284. definitions for the help command. In this case, EDWINST will
  285. write a minimal help file using less than 1K of RAM space.
  286.  
  287. EDWINST also writes the names of each of the default macros to
  288. the help file, if a help key is installed. If you change the
  289. macro definitions, you will need to return to the Command
  290. installation area to rewrite a help file with updated
  291. information.
  292.  
  293. The Options and Macros areas can be visited last. The Options
  294. area is most important because here you choose where the EDWIN
  295. support files will be kept. By default, the support files must
  296. be in the current drive and directory when EDWIN is started. If
  297. you use EDWIN frequently, we recommend that you keep it and its
  298. support files on a RAMdisk. This makes program loading almost
  299. instantaneous.
  300.  
  301. The Macro area can be used as a general purpose macro editor for
  302. EDWIN even after installation work is done. The macro editor
  303. first prompts for a macro file name, with a default of
  304. EDWIN.MAC. Enter a non-existent file name if you wish to create
  305. a new file of macros. You can also edit an existing file and
  306. write the results to a different file.
  307.  
  308. After loading the macro file, you can scroll through the 10
  309. available macros to choose which to edit. Choose one by pressing
  310. its number or selecting it and pressing <Enter>. You can leave
  311. the macro editor at this point by pressing <Esc>.
  312.  
  313. After choosing a macro, you will be prompted to enter or edit
  314. the name of the macro. The name is simply a mnemonic string
  315. which will appear in the online help and during later editing to
  316. remind you of the function of the macro. It is not connected to
  317. the keystrokes used to invoke the macro. The keystrokes used to
  318. invoke a particular macro are chosen in the Command installation
  319. area.
  320.  
  321. After you enter the macro name, you can edit its contents. The
  322. macro editor operates in two modes. The "command" mode reserves
  323. several keys to aid in the function of the editor. The following
  324. macro editing keys are supported:
  325.  
  326.   <Up>, <Down>, <Left> and <Right>
  327.     move the editor cursor around the macro.
  328.  
  329.   <Del>
  330.     deletes the keystroke pointed to by the cursor.
  331.  
  332.   <Backspace>
  333.     deletes the keystroke to the left of the cursor.
  334.  
  335.   <CtrlDel>
  336.     clears the current macro.
  337.  
  338.   <AltC>
  339.     copies another of the loaded macros into the current macro.
  340.  
  341.   <CtrlEnd>
  342.     terminates editing the current macro. You will be prompted
  343.     whether to save any changes produced by editing.
  344.  
  345.   <Ins>
  346.     toggles between insert and overwrite modes.
  347.  
  348.   All other keys are inserted literally into the macro.
  349.  
  350. The <Scroll_Lock> key toggles between this command mode and a
  351. "literal" mode. Once in literal mode, all keystrokes entered are
  352. inserted literally into the macro until the <Scroll_Lock> key is
  353. pressed again.
  354.  
  355. Note that if you have SuperKey or another memory-resident macro
  356. processor installed, pressing any key combinations defined as
  357. macros for that processor will insert that macro into the EDWIN
  358. macro. Neither EDWIN nor EDWINST take over the keyboard at such
  359. a low level as to inhibit other macro processors.
  360.  
  361. Each EDWIN macro is limited to 255 keystrokes. IBM extended
  362. ASCII keystrokes count as two each. The current macro length is
  363. reported in the editor status display.
  364.  
  365. After you traverse each applicable installation area, you should
  366. choose the EDWINST option to Write the installed version out to
  367. disk. Taking this step customizes the copy of EDWIN.COM to
  368. operate as you have selected. If for some reason, you don't want
  369. to save the changes, use the Quit option on the menu. Note that
  370. the EDWIN.KEY, EDWIN.HLP, and EDWIN.MAC files may have been
  371. previously rewritten by your choices in each installation
  372. subsection.
  373.  
  374.  
  375.  
  376.  
  377. 3. EDWIN Overview
  378. ================================================================
  379.  
  380. EDWIN started as a WordStar clone (more accurately, as a Turbo
  381. Pascal Editor clone), and the structure of the commands and the
  382. screen were designed accordingly. As new features have been
  383. added, the general flavor of this environment has been
  384. maintained.
  385.  
  386. EDWIN is strictly a text editor, flavored for programmers. The
  387. minimal word processing features in EDWIN were added to satisfy
  388. the needs of simple documentation like this text file or
  389. comments embedded in programs.
  390.  
  391. When EDWIN is started, you will see a main menu similar to that
  392. of WordStar. It allows you to change default drive or
  393. directory, invoke a DOS shell, or edit a file. You will return
  394. to this menu whenever all files are closed and you have not
  395. chosen to return to DOS.
  396.  
  397. EDWIN can also be started by naming the files to edit on the DOS
  398. command line. Up to three files may be specified on the command
  399. line --
  400.  
  401.   EDWIN [file1] [file2] [file3]
  402.  
  403. Each file name may include optional drive and pathname.
  404.  
  405. One major benefit of EDWIN over its predecessors is the ability
  406. to open windows on multiple files. This version of EDWIN can
  407. open up to 6 windows at once. Windows can be added, sized and
  408. closed at any time during an edit session. If two windows refer
  409. to the same file, changes made in one of the windows will
  410. automatically appear in the other. A "window zoom" command
  411. causes the current window to fill the entire screen, while
  412. leaving any other open windows hidden in the background.
  413.  
  414. The EDWIN editing screen is formatted as follows. The top line
  415. of the screen is always reserved for command prompts, editor
  416. status information and error messages. You will also note that a
  417. '+' sign appears at the left edge of this command line whenever
  418. a multi-key command has been partially entered.
  419.  
  420. EDWIN reserves one line at the top of each window for status
  421. information about that window. This line holds the following:
  422.  
  423.   current filename.
  424.   current line number.
  425.   current column number.
  426.   number of characters from the cursor to the beginning of the
  427.     file.
  428.   if word wrap mode is selected, the right margin value is
  429.     displayed.
  430.   flag for insert or overwrite mode.
  431.   flag for autoindent mode.
  432.   flag for macro-recording active.
  433.   flag indicating file must be saved.
  434.  
  435. If the current filename is longer than will fit in the area
  436. reserved for it, the leading portion of the name will be
  437. truncated.
  438.  
  439. The number of characters from the cursor to beginning of file is
  440. the file size which would be created if that portion of the file
  441. were saved. It includes two bytes per line for a <carriage
  442. return><line feed> sequence. It does not include any of the
  443. memory overhead of the EDWIN internal text representation.
  444.  
  445. The "save" flag indicates that the file has been changed since
  446. it was last stored to disk. A save is never required until you
  447. exit the editor, but intermediate saves will protect your work
  448. from hardware or software crashes.
  449.  
  450. The remainder of the editing screen is reserved for text.
  451.  
  452. The total file size which EDWIN can edit at any one time is
  453. limited by available system RAM. The following overhead factors
  454. may be of use in computing how much can be edited: For every
  455. text line read in, EDWIN uses 24 bytes of memory. The length of
  456. any text line can grow to 7 characters before this usage is
  457. increased. For longer lines, EDWIN allocates memory space in 8
  458. byte chunks. As a rough example, if EDWIN is run on a system
  459. with 256K free memory (before running EDWIN), you will have
  460. about 165K free memory after entering EDWIN. This free memory
  461. will allow files of between 80K and 160K bytes to be edited,
  462. depending on the average line length of the file.
  463.  
  464. The maximum line length of files in EDWIN is 999 characters.
  465. Lines exceeding this length will be broken when the file is read
  466. into the editor. The maximum number of lines in any file is
  467. 32767. Memory requirements will see to it that you never reach
  468. this limit.
  469.  
  470. By default, EDWIN is configured for online help. Pressing
  471. function key <F1> opens a window onto a summary of commands and
  472. macros. The help window is just like any other EDWIN window. You
  473. can scroll around in it, search for keywords, even change it if
  474. you wish. Use the quit file (^K^Q) command to close the help
  475. window.
  476.  
  477. If you know WordStar commands, you will be able to start using
  478. EDWIN immediately. Dive in, use the help window and go for it!
  479.  
  480. The following sections describe each editing command in more
  481. detail. Each command will be followed by its default keystroke
  482. combinations.
  483.  
  484.  
  485.  
  486.  
  487. 4. Cursor Movements        Primary Keys       Secondary Keys
  488. ================================================================
  489.  
  490. Abort command              <CtrlU>
  491. Character left             <Larrow>           <CtrlS>
  492. Character right            <Rarrow>           <CtrlD>
  493. Word left                  <CtrlLarr>         <CtrlA>
  494. Word right                 <CtrlRarr>         <CtrlF>
  495. Line up                    <Uarrow>           <CtrlE>
  496. Line down                  <Darrow>           <CtrlX>
  497. Scroll up                  <CtrlUarr>         <CtrlW>
  498. Scroll down                <CtrlDarr>         <CtrlZ>
  499. Page down                  <PgDn>             <CtrlC>
  500. Page up                    <PgUp>             <CtrlR>
  501.  
  502. The Abort command has nothing to do with cursor movements, but
  503. we felt it should be covered first. Pressing the Abort command
  504. sequence at any time in the editor will cause the current
  505. operation to be stopped. This will be especially useful during
  506. find/replace operations, command prompts, file reads or writes,
  507. or other lengthy editor operations that you wish to halt
  508. prematurely.
  509.  
  510. The character left command moves the cursor left one character
  511. at a time until it reaches column 1, then it stops.
  512.  
  513. The character right command moves the cursor right, even beyond
  514. the end of the text. It does not stop until it reaches the
  515. maximum line length at 999 characters.
  516.  
  517. Horizontal scrolling of the screen occurs whenever the cursor
  518. passes the left or right borders of the screen.
  519.  
  520. Word left and right move one word with each command. Words are
  521. delimited by spaces, common punctuation, and the beginning and
  522. end of lines. A few non-intuitive word delimiters are used for
  523. compatibility with the Turbo editor.
  524.  
  525. Line scrolling works in the expected manner. The <CtrlUarr> and
  526. <CtrlDarr> keystrokes for scrolling are activated only when
  527. SuperKey is installed.
  528.  
  529. Page up and Page down scroll by one line less than the full
  530. screen. For windows covering less than the full screen,
  531. scrolling is based on the window size, not the full screen size.
  532.  
  533.  
  534.  
  535.  
  536. 5. Quick Movements         Primary Keys       Secondary Keys
  537. ================================================================
  538.  
  539. Top of file                <CtrlPgUp>         <CtrlQ><CtrlR>
  540. Bottom of file             <CtrlPgDn>         <CtrlQ><CtrlC>
  541. Cursor to left side        <Home>             <CtrlQ><CtrlS>
  542. Cursor to right side       <End>              <CtrlQ><CtrlD>
  543. Top of screen              <CtrlHome>         <CtrlQ><CtrlE>
  544. Bottom of screen           <CtrlEnd>          <CtrlQ><CtrlX>
  545. Up to equal indent         <CtrlJ><CtrlB>
  546. Down to equal indent       <CtrlJ><CtrlE>
  547. Go to line                 <CtrlQ><CtrlN>
  548. Go to column               <CtrlO><CtrlC>
  549. Go to window               <CtrlO><CtrlQ>
  550. Previous cursor position   <CtrlQ><CtrlP>
  551.  
  552. Whenever possible, the quick movements will avoid scrolling the
  553. screen, and will simply reposition the cursor.
  554.  
  555. The first six of these commands should be obvious.
  556.  
  557. Up to equal indent and Down to equal indent are particularly
  558. useful for structured programming. When these commands are
  559. invoked, the leading indent of the current line is measured. The
  560. cursor is then moved up or down until it reaches another line
  561. having the same indent as the starting line, or it reaches the
  562. beginning or end of the file. This is useful for finding matched
  563. BEGINs and ENDs.
  564.  
  565. The Go to Commands allow direct movement to another point in a
  566. file. EDWIN will prompt for a value after you enter the command
  567. sequence. It accepts either absolute or relative numbers. For
  568. example, Go to Line 100 moves directly to line number 100. Go
  569. to Line +20 moves 20 lines toward the end of the file. Go to
  570. Line -40 moves 40 lines toward the beginning of the file.
  571.  
  572. Regarding the Go to window command: Windows are numbered
  573. starting with 1 for the first (topmost) window on the screen.
  574.  
  575. Previous cursor position will recall wherever the cursor was
  576. prior to the last command. Using this command twice in
  577. succession will return the cursor to its starting position.
  578.  
  579.  
  580.  
  581. 6. Inserting and Deleting  Primary Keys       Secondary Keys
  582. ================================================================
  583.  
  584. Undo last deletion         <Esc>              <CtrlQ><CtrlU>
  585. Restore line               <CtrlQ><CtrlL>
  586. Smart tab                  <CtrlI>
  587. Insert control char        <CtrlP>
  588. New line                   <Enter>            <CtrlM>
  589. Insert line                <CtrlN>
  590. Delete current character   <Del>              <CtrlG>
  591. Delete left character      <CtrlH>            <CtrlBkSp>
  592. Delete right word          <CtrlT>
  593. Delete line right          <CtrlQ><CtrlY>
  594. Delete line                <CtrlY>
  595. Delete line (no undo)      <CtrlDel>
  596.  
  597. EDWIN accepts all ASCII text not otherwise defined as a command.
  598. As a result, you can enter high-bit extended characters for
  599. drawing boxes, or using foreign language characters. These
  600. characters are entered by using the Alt numeric keypad sequences
  601. as normal in DOS (note that if SuperKey is installed, you must
  602. press left shift and Alt simultaneously).
  603.  
  604. To insert keystrokes into your text which are otherwise reserved
  605. for commands, use the "Insert control char" command. Any
  606. keystroke following this command will be inserted literally into
  607. the text.
  608.  
  609. EDWIN provides two undo mechanisms. "Undo last deletion" will
  610. recall the most recent line deleted and insert it into the text
  611. at the current cursor position. Note that this undo operation
  612. applies only to full line deletions. It also applies to the text
  613. involved in block deletes.
  614.  
  615. The undo stack is limited in size. By default, the last 20 lines
  616. of deleted text are saved on the undo stack. This limit can be
  617. adjusted via the installation program. The fundamental size of
  618. the undo stack is limited only be available memory.
  619.  
  620. The second undo operation is "Restore Line." This command
  621. restores the current line of text to what it was when the cursor
  622. first reached the line.
  623.  
  624. EDWIN does not support fixed tabs. Tab characters remaining in
  625. the text will appear as small circles ( ). By default, tab
  626. characters in the text are converted to spaces on standard 8
  627. column boundaries when a file is read into EDWIN. Tabs can be
  628. passed through without change by changing an installation
  629. option.
  630.  
  631. When the tab command is executed within the editor, EDWIN
  632. performs a "Smart Tab" like that of the Turbo editor. It will
  633. match the corresponding indent of the immediately preceding line
  634. if any exists. Otherwise, it will match the indent of any line
  635. following.
  636.  
  637. The insert line command breaks the current line and leaves the
  638. cursor position unchanged.
  639.  
  640. The delete operations are straightforward. Note the "Delete no
  641. recourse" command, which does not store the deleted text on the
  642. undo stack.
  643.  
  644.  
  645.  
  646.  
  647. 7. Find and Replace        Primary Keys       Secondary Keys
  648. ================================================================
  649.  
  650. Find pattern               <CtrlQ><CtrlF>
  651. Find and replace           <CtrlQ><CtrlA>
  652. Search and apply macro     <CtrlQ><CtrlM>
  653. Find next                  <CtrlL>
  654.  
  655. All of these commands share a common text searcher. When you run
  656. any of the first three search commands, you will be prompted to
  657. enter the search pattern. EDWIN does not support wildcard
  658. searches, but you can enter any ASCII or extended ASCII text as
  659. the search pattern. For the purposes of searching each line is
  660. taken to end with the characters <CtrlM><CtrlJ>. A search
  661. pattern consisting of just these two characters will find the
  662. end of every line. The search algorithm looks at only one line
  663. at a time; thus a search like "<CtrlM><CtrlJ>Anything" will
  664. never produce a match.
  665.  
  666. While you are responding to the prompt for a pattern, you have a
  667. simple line editor to use. The line editor accepts the following
  668. commands:
  669.  
  670.    <End> or <CtrlR> -
  671.      recall the previous entry.
  672.    <Left> or <CtrlS> -
  673.      move the cursor one position left.
  674.    <Right> or <CtrlD> -
  675.      move the cursor one position right.
  676.    <Home> or <CtrlX> -
  677.      erase the current response.
  678.    <CtrlLeft> or <CtrlA> -
  679.      move the cursor one word left.
  680.    <CtrlRight> or <CtrlF> -
  681.      move the cursor one word right.
  682.    <Del> or <CtrlG> -
  683.      delete the current character.
  684.    <BackSpace> or <CtrlH> -
  685.      delete the next character left.
  686.    <Ins> or <CtrlV> -
  687.      toggle insert/overwrite mode.
  688.    <CtrlP> -
  689.      following character entered will be taken literally.
  690.    <Enter> or <CtrlM> -
  691.      accept the entry.
  692.  
  693. Like the Turbo editor, the "cursor movements" of the line editor
  694. cause text to the right of the cursor to disappear.
  695.  
  696. If your EDWIN installation uses the blinking hardware cursor,
  697. the cursor size will change to indicate insert or overwrite
  698. modes. A slightly fatter cursor indicates insert mode, while the
  699. normal skinny cursor indicates the overwrite mode.
  700.  
  701. When entering the "end of line" search string, you must precede
  702. the <CtrlM> character by <CtrlP> in order to avoid premature
  703. termination of the entry.
  704.  
  705. Note that all command prompts in EDWIN use the same command
  706. editor, and accept the same syntax.
  707.  
  708. The various find and replace commands in EDWIN accept modifiers
  709. to the searching behavior, as follows:
  710.  
  711.   U - search in uppercase (matching is not case sensitive).
  712.   B - search backward (toward the top of file).
  713.   W - match whole words only.
  714.   G - search throughout entire file (globally).
  715.   M - search in marked block only.
  716.   N - no prompts before replacement.
  717.  
  718. Note that the standard WordStar option of replace for "n" times
  719. is not incorporated here. In its place is the marked block
  720. option, which is easier to use and more reliable.
  721.  
  722. EDWIN supports three basic search modes. The first simply
  723. searches and places the cursor on the start of whatever was
  724. found. The second searches for the match string and then
  725. replaces that string with another one of your choice. The final
  726. one is new to EDWIN. It searches for the match string and then
  727. applies a previously defined macro key sequence at the current
  728. cursor position.
  729.  
  730. The Find Next command repeats the last search operation,
  731. performing a replace or a macro invocation if that was the most
  732. recent command type.
  733.  
  734. When a find and replace operation is run with the G option,
  735. EDWIN will stop after each find and prompt for a response. The
  736. following actions are acceptable:
  737.  
  738.    Y - perform the replace for this instance.
  739.    N - do not perform the replace here, but continue searching.
  740.    A - perform this replace and all other that match without
  741.        further prompting.
  742.    Q - do not perform this replace, and quit searching.
  743.  
  744. You can break out of a find/replace operation at any time by
  745. pressing the abort command key, by default <CtrlU>.
  746.  
  747.  
  748.  
  749.  
  750.  
  751. 8. Files and DOS           Primary Keys       Secondary Keys
  752. ================================================================
  753.  
  754. Save and exit to DOS       <CtrlK><CtrlX>
  755. Save and exit to menu      <CtrlK><CtrlD>
  756. Save and continue edit     <CtrlK><CtrlS>
  757. Abandon file               <CtrlK><CtrlQ>
  758. Read file into window      <CtrlK><CtrlR>
  759. Write block to file        <CtrlK><CtrlW>
  760. Append block to file       <CtrlK><CtrlA>
  761. Invoke DOS shell           <CtrlO><CtrlI>
  762.  
  763. EDWIN editing operations occur completely in the memory of your
  764. computer. Until a file is saved to disk, there is no permanent
  765. record of your edits.
  766.  
  767. Whenever EDWIN prompts you for a file name, you can ask it for a
  768. directory of available files. To look at all files in the
  769. current directory, simply press <Enter>. Alternatively, you can
  770. enter any combination of drive, pathname and DOS wildcards.
  771. After you do this, EDWIN will pop up a window showing all the
  772. matching files. You can use the Cursor up and down arrows to
  773. scroll through this list. When you find a file you want, press
  774. <Enter>. If none of the files is what you want, press <Esc>.
  775.  
  776. There are three flavors of save command in EDWIN. You can save
  777. and leave the editor, returning to DOS. You can save and return
  778. to the EDWIN main menu. Or you can save and stay at the same
  779. place in the file. Note that the final variant operates more
  780. conveniently than the WordStar editor - your cursor is kept in
  781. place following the save operation. EDWIN creates a backup file
  782. (with extension .BAK) for every save that you perform.
  783.  
  784. EDWIN offers the option of abandoning any edits you have done. A
  785. "SAVE" indicator will appear in the window status line to
  786. indicate that you have unsaved edits. If you attempt to abandon
  787. a file with unsaved edits, EDWIN will prompt for confirmation.
  788.  
  789. You can merge another file into the current one via the "Read
  790. File into Window" command. The new file is read in at the
  791. current cursor position. After this command finishes, EDWIN
  792. leaves the block markers surrounding the newly read file.
  793.  
  794. Similarly, you can write a portion of the current file to
  795. another file with the write block commands. The append block
  796. command adds to an existing file, while the write block command
  797. will always start the file from scratch. If you ask to write
  798. block to an existing file, EDWIN will require confirmation
  799. before it overwrites it. During append block operation, EDWIN
  800. uses logic to avoid embedded <CtrlZ> characters in the resulting
  801. file. Note that you can use the write block command to print a
  802. file from within the editor - simply mark a block (the entire
  803. file if you desire) and write it to a file named PRN, LPT1, or
  804. LPT2.
  805.  
  806. Finally, EDWIN allows you to invoke a DOS shell from within the
  807. editor. After executing this command, you will find yourself at
  808. the standard DOS prompt. Note that for this command to be
  809. successful, two factors are required: first, a copy of
  810. COMMAND.COM must be available in the drive and directory
  811. specified by the COMSPEC parameter in your DOS environment;
  812. second, sufficient free memory must be available.
  813.  
  814. If you edit large files, or if you switch among a number of
  815. files, it is possible that not enough memory will be available
  816. for the DOS shell and EDWIN will inform you of this. Your only
  817. recourse is to save all open files and exit to the main EDWIN
  818. menu. You can invoke DOS from the main menu, or reopen your
  819. files and still most likely be able to run DOS.
  820.  
  821. From the DOS prompt, you can run any command or program you
  822. normally would, with a few exceptions. First, you should never
  823. install a memory resident program from within a shell. Doing so
  824. will most likely cause a system crash. Second, if you change
  825. directories in the shell, you normally should return to the
  826. directory in which the shell was invoked. Otherwise, when you
  827. return to the editor, further saves of open files will probably
  828. be written to the wrong directory. An exception to this rule
  829. occurs when you have opened files using their complete pathnames
  830. rather than using DOS shorthand to refer to the current
  831. directory.
  832.  
  833.  
  834.  
  835. 9. Windows                 Primary Keys       Secondary Keys
  836. ================================================================
  837.  
  838. Add window                 <CtrlO><CtrlA>
  839. Grow current window        <CtrlO><CtrlG>
  840. Shrink current window      <CtrlO><CtrlS>
  841. Switch windows             <CtrlO><CtrlO>
  842. Zoom current window        <CtrlO><CtrlZ>
  843. Show help window           <F1>               <CtrlJ><CtrlH>
  844.  
  845. EDWIN's window operations will significantly improve your
  846. productivity if you have not previously been using a windowing
  847. editor. The ability to refer to and copy text from multiple
  848. files makes programming much easier. This version of EDWIN
  849. allows up to 6 windows on screen at any one time. All block
  850. operations operate across windows as well as within a single
  851. window.
  852.  
  853. EDWIN windows divide the screen into horizontal strips. Each
  854. window can control a variable number of rows, from a minimum of
  855. two text lines to a maximum of 23. Each window starts with a
  856. status row as described in the overview section.
  857.  
  858. Windows can be created, sized and deleted dynamically. Commands
  859. to create and size windows are described in this section. To
  860. remove windows, use the file save/abandon commands described in
  861. the previous section.
  862.  
  863. When a window is added, the current window is split in half to
  864. make space for the new window. The current window must be at
  865. least 7 lines tall for this operation to be successful. When the
  866. window is split, EDWIN will prompt for a new file name. See
  867. section 7 for a description of the commands available during
  868. entry of the file name. See section 8 for a description of the
  869. popup directory window available at file prompts.
  870.  
  871. Note that the file name can contain a complete DOS drive and
  872. path name. If you specify a file name that matches that of an
  873. existing window, the new window will be "linked" to the existing
  874. one. In this way, you can have two or more views onto a single
  875. file. Edits made in one window will simultaneously appear in the
  876. other.
  877.  
  878. The Grow and Shrink window commands make the current window one
  879. line taller or shorter for each invocation of the command.
  880.  
  881. The Switch windows command moves the cursor to the next window
  882. down the screen. Note that EDWIN stores the current cursor
  883. position for each window even if the cursor is not currently in
  884. that window.
  885.  
  886. The Zoom window command is provided for the case when you have a
  887. number of windows on screen, but wish to focus on a single
  888. window for some time. Using the Zoom command causes the current
  889. window to fill the entire screen. Any other windows are hidden,
  890. but their text remains in memory. While the Zoom state is
  891. active, an indicator will be made visible on the window status
  892. line. To go back to the original multi-window screen, simply
  893. execute the Zoom command again. Alternatively, saving or
  894. abandoning the file in the Zoom window will restore the other
  895. windows to the screen. Note that you cannot open additional
  896. windows when the Zoom command has filled the screen with a
  897. single window.
  898.  
  899. EDWIN uses its standard windows to provide an online help
  900. facility. Press the help request key and EDWIN will create a new
  901. window onto the command summary file created by the installation
  902. program. You can then use any EDWIN command to browse, search,
  903. or even change the help information. Use the Abandon File or
  904. Switch Windows commands to leave the help window.
  905.  
  906.  
  907.  
  908. 10. Blocks and Markers     Primary Keys       Secondary Keys
  909. ================================================================
  910.  
  911. Begin block                <CtrlK><CtrlB>     <F7>
  912. End block                  <CtrlK><CtrlK>     <F8>
  913. Top of block               <CtrlQ><CtrlB>
  914. Bottom of block            <CtrlQ><CtrlK>
  915. Copy block                 <CtrlK><CtrlC>
  916. Move block                 <CtrlK><CtrlV>
  917. Delete block               <CtrlK><CtrlY>
  918. Toggle block display       <CtrlK><CtrlH>
  919. Mark current word          <CtrlK><CtrlT>
  920. Set marker 0               <CtrlK>0           <CtrlK><Ctrl0>
  921. ...
  922. Set marker 9               <CtrlK>9           <CtrlK><Ctrl9>
  923. Jump marker 0              <CtrlQ>0           <CtrlQ><Ctrl0>
  924. ...
  925. Jump marker 9              <CtrlQ>9           <CtrlQ><Ctrl9>
  926. Toggle marker display      <CtrlK><CtrlM>
  927.  
  928.  
  929. EDWIN block commands operate just like those in WordStar and the
  930. Turbo editor. A block can be marked at any column and line
  931. position using the Begin block and End block commands. Once a
  932. block is completely defined, the marked text will be displayed
  933. with the special color or attribute that you have chosen at
  934. installation.
  935.  
  936. In EDWIN, marked blocks can also be of use in Find/Replace/Macro
  937. operations, as well as some text processing commands.
  938.  
  939. The Top of block and Bottom of block commands position the
  940. cursor to the beginning or end of a marked block.
  941.  
  942. Copy and Move block commands will operate across windows. Delete
  943. block will delete a marked block, even if the block is not in
  944. the currently active window.
  945.  
  946. Toggle block display removes the special display attribute of a
  947. marked block. It does not remove the block markers themselves.
  948. Pressing the Toggle command again will redisplay the block. Most
  949. block commands will not operate when the marked block is not
  950. displayed. Only the Top of block and Bottom of block commands
  951. are active in this case.
  952.  
  953. Mark current word is a shorthand command for marking a single
  954. word of text.
  955.  
  956. EDWIN also supports visible text markers. It supports up to 10
  957. markers, which will generally be installed with sequential
  958. keystrokes as shown in the defaults above. When you set a text
  959. marker, a numbered block will appear to overwrite the character
  960. at the current cursor position. This block temporarily obscures
  961. your view of that character, but does not affect the actual text
  962. which will be stored with the file. Use the Toggle marker
  963. display command to make all markers temporarily disappear.
  964.  
  965. The Jump marker commands will immediately jump to a previously
  966. marked position in any window. If no such marker has been set,
  967. EDWIN will display an error message.
  968.  
  969. You can clear a marker by jumping to it and then setting it
  970. again.
  971.  
  972.  
  973.  
  974. 11. Macros                 Primary Keys       Secondary Keys
  975. ================================================================
  976.  
  977. Read macros from disk      <CtrlJ><CtrlR>
  978. Write macros to disk       <CtrlJ><CtrlW>
  979. Toggle macro record        <CtrlJ><CtrlT>
  980. Insert Macro 1             <Alt1>
  981. ...
  982. Insert Macro 9             <Alt9>
  983. Insert scrap macro         <CtrlJ><CtrlI>
  984. Insert scrap macro 1 time  <CtrlJ>1           <CtrlJ><Ctrl1>
  985. ...
  986. Insert scrap macro 9 times <CtrlJ>9           <CtrlJ><Ctrl9>
  987.  
  988. EDWIN supports a small but useful keyboard macro facility which
  989. can augment the use of full-blown macro processors like
  990. SuperKey. EDWIN can store up to 10 macros each of up to 255
  991. characters. These macros can be stored and loaded from files, so
  992. an effectively unlimited number of macros is available. EDWIN's
  993. macros can store anything you type within the editor, including
  994. text, commands, and responses to command prompts.
  995.  
  996. You can develop EDWIN macros in two ways. First, within the
  997. editor you can turn on a "recording" mode. This simply keeps a
  998. record of all of your keystrokes until recording is turned off
  999. again. When recording is complete, EDWIN will prompt for a macro
  1000. number in which the keystrokes will be stored.
  1001.  
  1002. Second, within the EDWIN installation program is a macro editor.
  1003. You can use this editor to tweak previously recorded macros or
  1004. to develop new macros from scratch. The macros developed in this
  1005. way are stored in files that can then be loaded into EDWIN for
  1006. use there.
  1007.  
  1008. When EDWIN is started, it automatically looks for and loads a
  1009. file of macros called EDWIN.MAC. We supply a default set of
  1010. these macros useful to Pascal programmers. Bring up the EDWIN
  1011. help facility to see what these macros will do.
  1012.  
  1013. Use the Read macros from disk command to load a different macro
  1014. file. After you have generated new macros within the editor, use
  1015. the Write macros command to store them to a file. If you exit
  1016. EDWIN without storing the macros, they will be lost.
  1017.  
  1018. EDWIN classifies macros into two categories. First type is the
  1019. "scrap" macro. Whenever you record a new macro within EDWIN, the
  1020. recorded keystrokes overwrite the scrap macro. When the
  1021. recording is complete, EDWIN prompts to store the macro into one
  1022. of the other nine macro locations or to leave the macro in the
  1023. scrap. The other nine locations will remain undisturbed until
  1024. you explicitly overwrite them by reading a macro file or storing
  1025. another scrap macro.
  1026.  
  1027. EDWIN supplies special operations with the scrap macro. If you
  1028. execute the Insert scrap macro command, EDWIN will prompt for a
  1029. number of times to insert the macro, limited only by EDWIN's
  1030. internal keyboard buffer size. Or you can use the Insert scrap
  1031. "n" times command to immediately play back the macro that number
  1032. of times.
  1033.  
  1034. The other nine macros can be inserted one time per command using
  1035. the appropriate Insert macro "m" command.
  1036.  
  1037. Note that macros can invoke other macros. The only restriction
  1038. is that the scrap macro not be invoked while macro recording is
  1039. in progress.
  1040.  
  1041. EDWIN also offers a powerful facility to "find and macro." After
  1042. a standard text search, EDWIN will apply the macro of your
  1043. choice. See section 7 for further information.
  1044.  
  1045.  
  1046.  
  1047.  
  1048. 12. Toggles                Primary Keys       Secondary Keys
  1049. ================================================================
  1050.  
  1051. Show version number        <CtrlJ><CtrlV>
  1052. Show available memory      <CtrlO><CtrlM>
  1053. Toggle insert mode         <CtrlV>            <Ins>
  1054. Toggle autoindent mode     <CtrlQ><CtrlI>
  1055.  
  1056. EDWIN will display its current version number when you press the
  1057. version number command sequence.
  1058.  
  1059. You can display the bytes of memory available for text
  1060. processing with the Show memory command. Note that not all of
  1061. these bytes may be available to the DOS shell command due to
  1062. fragmentation of the internal memory used by EDWIN.
  1063.  
  1064. Text entry in EDWIN operates in either of two modes. In insert
  1065. mode, new text pushes old text out of the way but does not
  1066. overwrite it. In overwrite mode, old text is superceded by the
  1067. new. When the EDWIN hardware cursor is active, Insert mode is
  1068. indicated by a somewhat fatter cursor. In overwrite mode, the
  1069. cursor is of minimum thickness. Each window can have an
  1070. independent mode for insert/overwrite, and the window status
  1071. line indicates the current state.
  1072.  
  1073. The EDWIN autoindent mode mimics that of the Turbo editor.
  1074. Whenever a new line is inserted by pressing <Enter> the cursor,
  1075. and any text to the right of the cursor, are indented to the
  1076. same level as that of the previous line. Autoindent mode is
  1077. signaled by the letters AI in the window status line.
  1078.  
  1079.  
  1080.  
  1081.  
  1082. 13. Text Processing        Primary Keys       Secondary Keys
  1083. ================================================================
  1084.  
  1085. Toggle case                <CtrlO><CtrlT>
  1086. Lower case                 <CtrlO><CtrlL>
  1087. Upper case                 <CtrlO><CtrlU>
  1088. Set right margin           <CtrlO><CtrlR>
  1089. Reformat paragraph         <CtrlB>
  1090. Toggle word wrap           <CtrlO><CtrlW>
  1091.  
  1092.  
  1093. EDWIN provides a few commands for text processing functions.
  1094.  
  1095. We often find it useful to be able to change the case of text
  1096. while beautifying programs or documentation. Thus there are
  1097. three commands for case changing in EDWIN. These commands
  1098. operate over the complete region of a marked block of text, if
  1099. any block is marked and visible, and if the cursor is currently
  1100. within the block. If no block is so indicated, the case changing
  1101. commands operate on the single character at the current cursor
  1102. position. Note that the Toggle case command is the safest to
  1103. use, since its actions can be undone by simply repeating the
  1104. command.
  1105.  
  1106. EDWIN supports three related commands for text formatting. When
  1107. the Word Wrap mode is active, EDWIN will automatically reformat
  1108. text so that it fits neatly within a right margin. The right
  1109. margin value can be set to any value from 10 columns up to 999
  1110. columns. When text is being entered, and the current character
  1111. exceeds the right margin, EDWIN will wrap any text exceeding
  1112. the right margin onto the next line. If autoindent mode is
  1113. active, the new line will be indented identically to its
  1114. predecessor.
  1115.  
  1116. The Reformat paragraph command applies the same operation to a
  1117. complete paragraph. For EDWIN's purposes, a paragraph is any
  1118. sequence of text terminated with a blank line. EDWIN will fill
  1119. and wrap text to fill the current right margin starting from the
  1120. current line and continuing until it encounters a blank line.
  1121.  
  1122.  
  1123.  
  1124. 14. Final Notes and Cautions
  1125. ================================================================
  1126.  
  1127. As mentioned previously, EDWIN operates with all available
  1128. system memory. If you attempt to read a file that exceeds memory
  1129. capacity, EDWIN will read in as much as fits and present an
  1130. error message stating that the entire file won't make it.
  1131. Continuing from this point is very dangerous. If you save the
  1132. file, you will overwrite the complete file with a partial
  1133. version, and lose the remainder.
  1134.  
  1135. If EDWIN's "Expand tabs on read" installation option is active,
  1136. you should note that any tabs in the file will be lost when the
  1137. file is rewritten to disk.
  1138.  
  1139. EDWIN incorporates a DOS critical error handler. This serves to
  1140. keep DOS' annoying "Abort, Retry, Ignore" from overwriting the
  1141. editor screen. Instead EDWIN's own error message will appear
  1142. whenever you attempt to write to a drive that isn't ready, or to
  1143. print to an unselected printer. In the case of the unselected
  1144. printer, there may be a substantial delay before the error
  1145. message appears. Have no fear, this is the printer timeout
  1146. period normally allowed for long printer operations like form
  1147. feeds.
  1148.  
  1149. If the EDWIN.ERR file is not available when EDWIN starts up,
  1150. error messages will appear as numbers rather than text. Refer to
  1151. the EDWIN.ERR file for the correspondence between the numbers
  1152. and text. If you don't like the text for a particular message,
  1153. edit the EDWIN.ERR file to change it to something more
  1154. desirable. Be sure to follow the format of the existing file if
  1155. you do so.
  1156.  
  1157. Similarly, you can edit the EDWIN.MSG file to change various
  1158. command prompts of the editor. Unlike the ERR file, the MSG file
  1159. must be found at startup, or the editor will not continue.
  1160.